// 引入
import { reqGetSearchInfo } from "@/api"

// search模块小仓库
const state = {
    //初始化仓库数据
    searchList: {}
}
const mutations = {
    GETSEARCHLIST(state, searchList) {
        state.searchList = searchList
    }
}
const actions = {
        //箭头函数默认参数：params={},,,外部调用这个函数，你传了值就用，没传就是空对象。
        async getSearchList({ commit }, params = {}) {
            //params形参：是当用户派发action的时候，第二个参数传递过来的，至少是一个空对象
            let result = await reqGetSearchInfo(params)
            if (result.code == 200) {
                commit('GETSEARCHLIST', result.data)
            }
        }
    }
    //计算属性，在项目当中为了简化仓库中的数据而生。！
    //把我们将来在组件当中，需要用的数据简化一下，将来组件在获取数据的时候就方便了
const getters = {
    //当前形参state，，是当前仓库的state
    goodsList(state) {
        // 这样书写有问题。。。要是请求没法出去，，就是undefined
        return state.searchList.goodsList || [] //假如没网，就是undefined,,undefined遍历会报错。
    },
    trademarkList(state) {
        return state.searchList.trademarkList
    },
    attrsList(state) {
        return state.searchList.attrsList
    }
}
export default {
    state,
    mutations,
    actions,
    getters
}